#ifndef __USERCOMMAND_H__
#define __USERCOMMAND_H__

// KEY event class

typedef enum {
	EVT_KEY_EVT_START        = DEV_KEY_EVENT_BASE, ///< Min value = 0x11060000

	EVT_KEY_STATUS_START     = 0x11060000,    // Status key start
	EVT_KEY_STATUS1      = 0x11060001,
	EVT_KEY_STATUS2      = 0x11060002,
	EVT_KEY_STATUS3      = 0x11060003,
	EVT_KEY_STATUS4      = 0x11060004,
	EVT_KEY_STATUS5      = 0x11060005,
	EVT_KEY_STATUS6      = 0x11060006,
	EVT_KEY_STATUS7      = 0x11060007,
	EVT_KEY_STATUS8      = 0x11060008,
	EVT_KEY_STATUS9      = 0x11060009,
	EVT_KEY_STATUS10     = 0x1106000a,
	/* INSERT NEW EVENT HRER */
	EVT_KEY_STATUS_END       = EVT_KEY_STATUS_START + 0x100 - 1, // Status key end

	EVT_KEY_BUTTON_START     = 0x11060100,    // Button key start

	EVT_KEY_PRESS_START  = 0x11060100,    // Press key start
	EVT_KEY_PRESS    = 0x11060101,
	EVT_KEY_POWER    = 0x11060102,
	EVT_KEY_UP       = 0x11060103,
	EVT_KEY_DOWN     = 0x11060104,
	EVT_KEY_LEFT     = 0x11060105,
	EVT_KEY_RIGHT    = 0x11060106,
	EVT_KEY_ENTER    = 0x11060107,
	EVT_KEY_TELE     = 0x11060108,
	EVT_KEY_WIDE     = 0x11060109,
	EVT_KEY_DEL      = 0x1106010a,
	EVT_KEY_ZOOMIN   = 0x1106010b,
	EVT_KEY_ZOOMOUT  = 0x1106010c,
	EVT_KEY_SHUTTER1 = 0x1106010d,
	EVT_KEY_SHUTTER2 = 0x1106010e,
	EVT_KEY_FACEDETECT = 0x1106010f,
	EVT_KEY_MODE     = 0x11060110,
	EVT_KEY_MOVIE    = 0x11060111,
	EVT_KEY_PLAYBACK = 0x11060112,
	EVT_KEY_MENU     = 0x11060113,
	EVT_KEY_DISPLAY  = 0x11060114,
	EVT_KEY_BACK     = 0x11060115,
	EVT_KEY_CUSTOM1  = 0x11060116,
	EVT_KEY_CUSTOM2  = 0x11060117,
	EVT_KEY_NEXT     = 0x11060118,
	EVT_KEY_PREV     = 0x11060119,
	EVT_KEY_SELECT   = 0x1106011a,
	EVT_KEY_RC_SHUTTER2       = 0x1106011b,
	EVT_KEY_RC_SHUTTER2_LONG  = 0x1106011c,
	EVT_KEY_RC_MOVIEREC       = 0x1106011d,
	EVT_KEY_RC_MOVIEREC_LONG  = 0x1106011e,
	EVT_KEY_CALIBRATION = 0x1106011f,

	/* INSERT NEW EVENT HRER */
	EVT_KEY_PRESS_END    = EVT_KEY_PRESS_START + 0x100 - 1, // Press key end

	EVT_KEY_CONTINUE_START = 0x11060200, // Continue key start
	EVT_KEY_CONTINUE = 0x11060201, // must = EVT_KEY_PRESS + 0x100,
	EVT_KEY_POWER_CONT = 0x11060202, // must = EVT_KEY_POWER + 0x100,
	EVT_KEY_UP_CONT  = 0x11060203, // must = EVT_KEY_UP + 0x100,
	EVT_KEY_DOWN_CONT = 0x11060204, // must = EVT_KEY_DOWN + 0x100,
	EVT_KEY_LEFT_CONT = 0x11060205, // must = EVT_KEY_LEFT + 0x100,
	EVT_KEY_RIGHT_CONT = 0x11060206, // must = EVT_KEY_RIGHT + 0x100,
	EVT_KEY_CONTINUE_END = EVT_KEY_CONTINUE_START + 0x100 - 1, // Continue key end

	EVT_KEY_RELEASE_START = 0x11060400, // Release key start
	EVT_KEY_RELEASE = 0x11060401, // must = EVT_KEY_PRESS + 0x300,
	EVT_KEY_POWER_REL = 0x11060402, // must = EVT_KEY_POWER + 0x300,
	EVT_KEY_UP_REL  = 0x11060403, // must = EVT_KEY_UP + 0x300,
	EVT_KEY_DOWN_REL = 0x11060404, // must = EVT_KEY_DOWN + 0x300,
	EVT_KEY_LEFT_REL = 0x11060405, // must = EVT_KEY_LEFT + 0x300,
	EVT_KEY_RIGHT_REL = 0x11060406, // must = EVT_KEY_RIGHT + 0x300,
	EVT_KEY_ZOOMRELEASE = 0x1106040b, // must = EVT_KEY_ZOOMIN + 0x300,
	EVT_KEY_SHUTTER1_REL = 0x1106040d, // must = EVT_KEY_SHUTTER1 + 0x300,
	EVT_KEY_SHUTTER2_REL = 0x1106040e, // must = EVT_KEY_SHUTTER2 + 0x300,
	EVT_KEY_RELEASE_END  = EVT_KEY_RELEASE_START + 0x100 - 1, // Release key end

	EVT_KEY_BUTTON_END       = EVT_KEY_BUTTON_START + 0x800 - 1, // Button key end

	EVT_KEY_EVT_END          = DEV_KEY_EVENT_BASE + 0x1000 - 1, ///< Max value = 0x11060fff
}
_KEY_EVENT;

#endif /* __USERCOMMAND_H__ */
